Skip to content

Conversation

@wch
Copy link
Owner

@wch wch commented Jul 12, 2023

This adds a new endpoint_type parameter to chat_server. To use with Azure:

    chatstream.chat_server("mychat", endpoint_type="azure")

Note that to use Azure, you will also probably need to set some values at the top of your app, as described in https://learn.microsoft.com/en-us/azure/cognitive-services/openai/how-to/switching-endpoints :

import openai

openai.api_type = "azure"
openai.api_key = "..."
openai.api_base = "https://example-endpoint.openai.azure.com"
openai.api_version = "2023-05-15"  # subject to change

I currently do not have access to Azure OpenAI, so I can't test this myself. It can be installed with:

pip install chatstream@git+https://github.com/wch/chatstream.git@azure

@wch wch mentioned this pull request Jul 12, 2023
@wch
Copy link
Owner Author

wch commented Jul 19, 2023

I have this working with Azure, using a deployment I created named my-gpt-35-turbo.

Example app:

import openai
from shiny import App, Inputs, Outputs, Session, ui

import chatstream

openai.api_type = "azure"
openai.api_base = "https://winstontest.openai.azure.com/"
openai.api_version = "2023-03-15-preview"

app_ui = ui.page_fixed(
    chatstream.chat_ui("mychat"),
)


def server(input: Inputs, output: Outputs, session: Session):
    chatstream.chat_server(
        "mychat",
        api_key=os.getenv("OPENAI_API_KEY"),
        model="gpt-3.5-turbo",
        azure_deployment_id="my-gpt-35-turbo",
        debug=True,
    )


app = App(app_ui, server)

Note that you must create a deployment with a custom name. In this case, it is "my-gpt-35-turbo", but you could call it anything. The screen to create it in the Azure control panel will look something like this:

image

Also note that this is created within an Azure resource named winstontest. The URL for that resource is https://winstontest.openai.azure.com/.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants